1. Field of the Invention
The present invention relates to different ring levels of computer systems, and, in particular, to methods for binding a data sink at one ring level to a data source at another ring level.
2. Description of the Related Art
Computer systems typically run a variety of applications and programs, from user-applications to server-type programs which provide services for applications, to operating systems which support all other applications and programs running thereon. Data streams are often established between various elements of a computer system to allow for the communication or transmission of data. These elements may be hardware, such as a speaker or "SoundBlaster" card or peripheral, or they may be software entities such as applications, dynamically-linked libraries ("DLLs"), servers, operating systems, objects, and the like. In addition, communication ("comm") channels are often used for interconnecting different PCs.
Many central processing units ("CPUs"), or processors, of computers and their respective operating systems operate at various so-called computing or processing "ring levels." A Ring level may be understood to be a priority level at which the processor operates when running certain code or programs or when controlling or servicing certain hardware devices. Often there is communications between modules within the computer at different Ring levels, or across Ring levels. As is understood, Ring levels are utilized to avoid conflicts in the operating system and for other purposes. For instance, Ring 0 is considered to be the highest priority Ring level, while Ring 3 is a lower priority Ring level. Thus, an operating system running at Ring 0 has higher priority than an application running at Ring 3. Within a given Ring level there may also be different priorities, such as a relatively high priority interrupt. However, a Ring 3 interrupt is typically of lower priority than a non-interrupt Ring 0 function.